package com.mt.roll.report.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.mt.roll.core.base.BaseVo;
import com.mt.roll.core.vo.PageVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;

/**
 * @Author: yulianchen
 * @Date: 2022/3/4 14:26
 * @Version 1.0
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Builder
@ApiModel(value = "当前库存查看基板报表", description = "用于存储箱对应基板信息")
public class ReportSubstrateVo extends BaseVo implements PageVo.ConvertVo{
    /**
     * 主键，自增
     */
    @ApiModelProperty(value = "主键，基板id", required = true, example = "1")
    @NotNull(message = "ID不能为空")
    private Long id;
    /**
     * 基板状态
     */
    @Excel(name = "基板状态")
    @ApiModelProperty(value = "基板状态", example = "1")
    private int status;
    /**
     * 基板编码
     */
    @Excel(name = "基板编码")
    @ApiModelProperty(value = "基板编码", example = "1")
    private String substrateCode;
    /**
     * 当前库存存储箱信息关联id
     */
    @Excel(name = "当前库存存储箱信息关联id")
    @ApiModelProperty(value = "当前库存存储箱信息关联id", example = "1")
    private Long locationStorageSubId;
    /**
     * 当前位置id
     */
    @Excel(name = "当前位置id")
    @ApiModelProperty(value = "当前位置id", example = "1")
    private Long locationID;
    /**
     * 当前位置名
     */
    @Excel(name = "当前位置名")
    @ApiModelProperty(value = "当前位置名", example = "1")
    private String locationName;
    /**
     * 存储箱id
     */
    @Excel(name = "存储箱id")
    @ApiModelProperty(value = "存储箱id", example = "1")
    private Long storageId;
    /**
     * 存储箱号
     */
    @Excel(name = "存储箱号")
    @ApiModelProperty(value = "存储箱号", example = "1")
    private String storageBoxFid;
    /**
     * 基板id
     */
    @Excel(name = "基板id")
    @ApiModelProperty(value = "基板id", example = "1")
    private String subCode;
    /**
     * 存储箱层
     */
    @Excel(name = "存储箱层")
    @ApiModelProperty(value = "存储箱层", example = "1")
    private int storageLevel;
    /**
     * 基板类型
     */
    @Excel(name = "基板类型")
    @ApiModelProperty(value = "基板类型", example = "1")
    private int subType;
    /**
     * 上下片时间
     */
    @Excel(name = "上下片时间")
    @ApiModelProperty(value = "上下片时间", example = "1")
    private String storeTime;
    /**
     * 存取状态，1 此基板被存入箱子；2 此基板从箱子被取出
     */
    @Excel(name = "存取状态")
    @ApiModelProperty(value = "存取状态", example = "1")
    private int subStorageStatus;
    /**
     * 机械手id，此字段从plc中获取
     */
    @Excel(name = "机械手id")
    @ApiModelProperty(value = "机械手id", example = "1")
    private String machineHandID;
    /**
     * 基板状态
     */
    @Excel(name = "基板状态")
    @ApiModelProperty(value = "基板状态", example = "1")
    private Long substrateStatus;
    /**
     * 基板位置
     */
    @Excel(name = "基板位置")
    @ApiModelProperty(value = "基板位置", example = "1")
    private Long subPosition;

}
